home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / fpu881 / src6.zoo / _cmpsf2.s < prev    next >
Text File  |  1991-09-24  |  711b  |  42 lines

  1. | single floating point compare routine
  2. |
  3. | written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).
  4. | Based on a 80x86 floating point packet from comp.os.minix, written by P.Housel
  5. |
  6. |
  7. | Revision 1.1, kub 12-89 :
  8. | Created single float version for 68000
  9. |
  10. | Revision 1.0:
  11. | original 8088 code from P.S.Housel for double floats
  12.  
  13.     .text
  14.     .even
  15.     .globl    __cmpsf2, ___cmpsf2
  16.  
  17. __cmpsf2:
  18. ___cmpsf2:
  19.     moveml    sp@(4),d0-d1    | get u and v
  20.     tstl    d1        | check sign bit
  21.     bpl    one
  22.     negl    d1        | negate
  23.     eorl    #0x80000000,d1    | toggle sign bit
  24. one:
  25.     tstl    d0        | check sign bit
  26.     bpl    two
  27.     negl    d0        | negate
  28.     eorl    #0x80000000,d0    | toggle sign bit
  29. two:
  30.     cmpl    d1,d0
  31.     blt    lt
  32.     bgt    gt
  33. eq:
  34.     clrl    d0
  35.     rts
  36. lt:
  37.     moveq    #-1,d0
  38.     rts
  39. gt:
  40.     moveq    #1,d0
  41.     rts
  42.